project "Application"
	kind "ConsoleApp"
	language "C++"
	cppdialect "C++17"
	staticruntime "off"

	targetdir ("%{wks.location}/bin/" .. outputdir .. "/%{prj.name}")
	objdir ("%{wks.location}/bin-int/" .. outputdir .. "/%{prj.name}")

	-- Add prebuild command to compile shaders
    prebuildcommands 
	{
        "\"C:/VulkanSDK/1.3.216.0/Bin/glslc.exe\" shaders/simple_shader.vert -o shaders/simple_shader.vert.spv",
        "\"C:/VulkanSDK/1.3.216.0/Bin/glslc.exe\" shaders/simple_shader.frag -o shaders/simple_shader.frag.spv",
		"\"C:/VulkanSDK/1.3.216.0/Bin/glslc.exe\" shaders/point_light.vert -o shaders/point_light.vert.spv",
        "\"C:/VulkanSDK/1.3.216.0/Bin/glslc.exe\" shaders/point_light.frag -o shaders/point_light.frag.spv",
    }

	files
	{
		"src/**.h",
		"src/**.cpp",
		"vendor/glm/glm/**.hpp",
		"vendor/glm/glm/**.inl",	
	}

	defines
	{
		"_CRT_SECURE_NO_WARNINGS",
		"GLFW_INCLUDE_NONE"
	}

	includedirs
	{
		"src",		
		"%{IncludeDir.GLFW}",
		"%{IncludeDir.Glad}",
		"%{IncludeDir.glm}",
		"%{IncludeDir.tinyobj}",
		"%{IncludeDir.VulkanSDK}",	
		
	}

	links
	{
		
		"GLFW",
		"Glad",
		"%{Library.Vulkan}",	
	}


	
	filter "system:windows"
		systemversion "latest"

		defines 
		{ 

		}

		links
		{
			
		}

	filter "configurations:Debug"
		defines "HZ_DEBUG"
		runtime "Debug"
		symbols "on"

		links
		{
			
		}

	filter "configurations:Release"
		defines "HZ_RELEASE"
		runtime "Release"
		optimize "on"
		links
		{
			
		}

	filter "configurations:Dist"
		defines "HZ_DIST"
		runtime "Release"
		optimize "on"

		links
		{
			
		}